Applications of Abstraction for Concurrent Programs
نویسنده
چکیده
JAMES WHEELIS RIELY: Applications of Abstraction for Concurrent Programs (Under the direction of Jan Prins and Rance Cleaveland) We study the use of abstraction to reason operationally about concurrent programs. Our thesis is that abstraction can profitably be combined with operational semantics to produce new proof techniques. We study two very different applications: • the implementation of nested data-parallelism, and • the verification of value-passing processes. In the first case, we develop a typing system for a nested data-parallel programming language and use it to prove the correctness of flattening, an important compilation technique. In the second, we demonstrate that abstract interpretations of values domains can be applied to process description languages, extending the applicability of finite-state methods to infinite-state processes.
منابع مشابه
Symmetry-Aware Predicate Abstraction for Shared-Variable Concurrent Programs (Extended Technical Report)
Predicate abstraction is a key enabling technology for applying finite-state model checkers to programs written in mainstream languages. It has been used very successfully for debugging sequential system-level C code. Although model checking was originally designed for analyzing concurrent systems, there is little evidence of fruitful applications of predicate abstraction to shared-variable con...
متن کاملSymmetry-Aware Predicate Abstraction for Shared-Variable Concurrent Programs
Predicate abstraction is a key enabling technology for applying finitestate model checkers to programs written in mainstream languages. It has been used very successfully for debugging sequential system-level C code. Although model checking was originally designed for analyzing concurrent systems, there is little evidence of fruitful applications of predicate abstraction to shared-variable conc...
متن کاملNon-monotonic Refinement of Control Abstraction for Concurrent Programs
ion for Concurrent Programs Ashutosh Gupta, Corneliu Popeea, and Andrey Rybalchenko Technische Universität München Abstract. Verification based on abstraction refinement is a successful technique for checking program properties. Conventional abstraction refinement schemes increase precision of the abstraction monotonically, and therefore cannot recover from overly precise refinement decisions. ...
متن کاملThe Illinois Concert System: Programming Support for Irregular Parallel Applications
Irregular applications are critical to supporting grand challenge applications on massively parallel machines and extending the utility of those machines beyond the scientiic computing domain. The dominant parallel programmingmodels, data parallel and explicit message passing, provide little support for programming irregular applications. We articulate a set of requirements for supporting irreg...
متن کاملConcurrent C++: Concurrent Programming with Class(es)
C++ and Concurrent C are both upward-compatible supersets of C that respectively provide dataabstraction and parallel programming facilities. Although data abstraction facilities are important forwriting concurrent programs, we did not provide data abstraction facilities in Concurrent C because we didnot want to duplicate the C++ research effort. Instead, we decided that we would ev...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999